#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);


}

MainWindow::~MainWindow()
{
    delete ui;
}


void MainWindow::on_pushButton_clicked()
{
    ////创建 QMessageBox
    //QMessageBox* messageBox = new QMessageBox(this);
    //messageBox->setWindowTitle("对话窗口标题");
    //messageBox->setText("对话框文本");
    //messageBox->setIcon(QMessageBox::Information);
    ////标准按钮中，根本就没法进行信号槽的连接。（按钮是 QMessageBox 自己生成的)
    //messageBox->setStandardButtons(QMessageBox::No | QMessageBox::Ok | QMessageBox::Save);
    ////所以我们需要通过下面函数的返回值来确定,用户点击了那个按钮
    ////因为对话框只有模态的,所以你用show,也是一样的效果,而且还没有返回值
    ////弹出模态对话框，当对话框处于弹出状态的时候，代码就会在 exec 这里阻塞。一直到对话框被关闭
    ////用户点击按钮，使对话框关闭之后，此时就能通过 exec 的返回值，来知道用户点击的是哪个按钮，从而执行一些对应的逻辑了
    //int result = messageBox->exec();

    //除了上面new的方式,也可以通过静态方法的形式来进行创建
    int result = QMessageBox::information(this, "对话框标题", "对话框文本", QMessageBox::No | QMessageBox::Ok | QMessageBox::Save);

    switch (result) {
    case QMessageBox::No:
        qDebug() << "No";
        break;
    case QMessageBox::Ok:
        qDebug() << "Ok";
        break;
    case QMessageBox::Save:
        qDebug() << "Save";
        break;
    }

    //messageBox->setAttribute(Qt::WA_DeleteOnClose);
}
